embedded systems hardware fpga embedded unix development open source design software asic linux analog altera windows cpld dsp